package org.bigmarketapi.gatewaycenter.application;

import org.bigmarketapi.gatewaycenter.domain.registry.model.aggre.appRegistryAggregate;
import org.bigmarketapi.gatewaycenter.domain.registry.model.vo.AppInterfaceMethodVO;
import org.bigmarketapi.gatewaycenter.domain.registry.model.vo.AppInterfaceVO;
import org.bigmarketapi.gatewaycenter.domain.registry.model.vo.AppSystemVO;
import org.bigmarketapi.gatewaycenter.infrastructure.persistent.common.Result;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestParam;

/**
 * @author dujiaqi
 */
public interface IRegisterManage {
    Result<Boolean> registerApplication(String systemId, String systemName, String systemType, String systemRegistry);


    Result<Boolean> registerApplicationInterface(String systemId,
                                                 String interfaceId,
                                                 String interfaceName,
                                                 String interfaceVersion
    );

    Result<Boolean> registerApplicationInterfaceMethod( String systemId,
                                                        String interfaceId,
                                                       String methodId,
                                                       String methodName,
                                                      String parameterType,
                                                       String uri,
                                                       String httpType,
                                                  Integer auth
    );
    Result<appRegistryAggregate> queryAppRegistry(String gatewayId);

}
